| 
                
               | 
              
                
               | 
              
                @@ -390,19 +390,25 @@ def statistic_distributor(request): 
               | 
            
            
            
              | 
                390
               | 
              
                390
               | 
              
                     except AdministratorInfo.DoesNotExist: 
               | 
            
            
            
              | 
                391
               | 
              
                391
               | 
              
                         return response(AdministratorStatusCode.ADMINISTRATOR_NOT_FOUND) 
               | 
            
            
            
              | 
                392
               | 
              
                392
               | 
              
                  
               | 
            
            
            
              | 
                393
               | 
              
                
               | 
              
                -    daily_logs = SaleclerkSubmitLogInfo.objects.raw('select id, ymd, Count(*) AS num, Count(code_version=1 or NULL) AS code1 , Count(code_version=2 or NULL) AS code2, Count((code_version=1 AND has_scan=True) or NULL) AS has_code1_scan_num, Count((code_version=2 AND has_scan=True) or NULL) AS has_code2_scan_num FROM integral_saleclerksubmitloginfo where ymd >= %s AND ymd <= %s AND test_user=False AND dupload=False AND test_sn=False AND status=True AND CONTAINS(model_uni_name, %s) AND CONTAINS(distributor_name, %s) GROUP BY ymd;', [start_time, end_time, model_name, distributor_name])
               | 
            
            
            
              | 
                
               | 
              
                393
               | 
              
                +    daily_sql = 'select id, ymd, Count(*) AS num, Count(code_version=1 or NULL) AS code1 , Count(code_version=2 or NULL) AS code2, Count((code_version=1 AND has_scan=True) or NULL) AS has_code1_scan_num, Count((code_version=2 AND has_scan=True) or NULL) AS has_code2_scan_num FROM integral_saleclerksubmitloginfo where ymd >= %s AND ymd <= %s AND test_user=False AND dupload=False AND test_sn=False AND status=True %s %s GROUP BY ymd;' % (start_time, end_time, ('AND model_uni_name = %s' ,(model_name)) if model_name else '', ('AND distributor_name = %s' ,(distributor_name)) if distributor_name else '')
               | 
            
            
            
              | 
                
               | 
              
                394
               | 
              
                +    daily_logs = SaleclerkSubmitLogInfo.objects.raw(daily_sql) 
               | 
            
            
            
              | 
                
               | 
              
                395
               | 
              
                +    print(daily_logs) 
               | 
            
            
            
              | 
                394
               | 
              
                396
               | 
              
                  
               | 
            
            
            
              | 
                395
               | 
              
                397
               | 
              
                     daily_logs = [{'ymd': log.ymd, 'num': log.num, 'code1': log.code1, 'code2': log.code2, 'has_code1_scan_num': log.has_code1_scan_num, 'has_code2_scan_num': log.has_code2_scan_num} for log in daily_logs]
               | 
            
            
            
              | 
                396
               | 
              
                398
               | 
              
                  
               | 
            
            
            
              | 
                
               | 
              
                399
               | 
              
                +    model_logs = [] 
               | 
            
            
            
              | 
                397
               | 
              
                400
               | 
              
                     if model_name == '': 
               | 
            
            
            
              | 
                398
               | 
              
                
               | 
              
                -        model_logs = SaleclerkSubmitLogInfo.objects.raw('select id, model_uni_name, Count(*) AS num, Count(code_version=1 or NULL) AS code1 , Count(code_version=2 or NULL) AS code2, Count((code_version=1 AND has_scan=True) or NULL) AS has_code1_scan_num, Count((code_version=2 AND has_scan=True) or NULL) AS has_code2_scan_num FROM integral_saleclerksubmitloginfo where ymd >= %s AND ymd <= %s AND test_user=False AND dupload=False AND test_sn=False AND status=True AND CONTAINS(distributor_name, %s) GROUP BY model_uni_name;', [start_time, end_time, distributor_name])
               | 
            
            
            
              | 
                399
               | 
              
                
               | 
              
                -         
               | 
            
            
            
              | 
                400
               | 
              
                
               | 
              
                -        model_logs = [{'model_uni_name': log.model_uni_name, 'num': log.num, 'code1': log.code1, 'code2': log.code2, 'has_code1_scan_num': log.has_code1_scan_num, 'has_code2_scan_num': log.has_code2_scan_num} for log in daily_logs]
               | 
            
            
            
              | 
                
               | 
              
                401
               | 
              
                +        model_sql = 'select id, model_uni_name, Count(*) AS num, Count(code_version=1 or NULL) AS code1 , Count(code_version=2 or NULL) AS code2, Count((code_version=1 AND has_scan=True) or NULL) AS has_code1_scan_num, Count((code_version=2 AND has_scan=True) or NULL) AS has_code2_scan_num FROM integral_saleclerksubmitloginfo where ymd >= %s AND ymd <= %s AND test_user=False AND dupload=False AND test_sn=False AND status=True %s GROUP BY model_uni_name;' % (start_time, end_time, ('AND distributor_name = %s' ,(distributor_name)) if distributor_name else '')
               | 
            
            
            
              | 
                
               | 
              
                402
               | 
              
                + 
               | 
            
            
            
              | 
                
               | 
              
                403
               | 
              
                +        model_logs = SaleclerkSubmitLogInfo.objects.raw(model_sql) 
               | 
            
            
            
              | 
                
               | 
              
                404
               | 
              
                +        model_logs = [{'model_uni_name': log.model_uni_name, 'num': log.num, 'code1': log.code1, 'code2': log.code2, 'has_code1_scan_num': log.has_code1_scan_num, 'has_code2_scan_num': log.has_code2_scan_num} for log in model_logs]
               | 
            
            
            
              | 
                401
               | 
              
                405
               | 
              
                      
               | 
            
            
            
              | 
                
               | 
              
                406
               | 
              
                +    distributor_logs = [] 
               | 
            
            
            
              | 
                402
               | 
              
                407
               | 
              
                     if distributor_name == '': 
               | 
            
            
            
              | 
                403
               | 
              
                
               | 
              
                -        distributor_logs = SaleclerkSubmitLogInfo.objects.raw('select id, distributor_name, Count(*) AS num, Count(code_version=1 or NULL) AS code1 , Count(code_version=2 or NULL) AS code2, Count((code_version=1 AND has_scan=True) or NULL) AS has_code1_scan_num, Count((code_version=2 AND has_scan=True) or NULL) AS has_code2_scan_num FROM integral_saleclerksubmitloginfo where ymd >= %s AND ymd <= %s AND test_user=False AND dupload=False AND test_sn=False AND status=True AND CONTAINS(model_uni_name, %s) GROUP BY distributor_name;', [start_time, end_time, model_name])
               | 
            
            
            
              | 
                404
               | 
              
                
               | 
              
                -         
               | 
            
            
            
              | 
                405
               | 
              
                
               | 
              
                -        distributor_logs = [{'distributor_name': log.distributor_name, 'num': log.num, 'code1': log.code1, 'code2': log.code2, 'has_code1_scan_num': log.has_code1_scan_num, 'has_code2_scan_num': log.has_code2_scan_num} for log in daily_logs]
               | 
            
            
            
              | 
                
               | 
              
                408
               | 
              
                +        distributor_sql = 'select id, distributor_name, Count(*) AS num, Count(code_version=1 or NULL) AS code1 , Count(code_version=2 or NULL) AS code2, Count((code_version=1 AND has_scan=True) or NULL) AS has_code1_scan_num, Count((code_version=2 AND has_scan=True) or NULL) AS has_code2_scan_num FROM integral_saleclerksubmitloginfo where ymd >= %s AND ymd <= %s AND test_user=False AND dupload=False AND test_sn=False AND status=True %s GROUP BY distributor_name;' % (start_time, end_time, ('AND model_uni_name = %s' ,(model_name)) if model_name else '')
               | 
            
            
            
              | 
                
               | 
              
                409
               | 
              
                + 
               | 
            
            
            
              | 
                
               | 
              
                410
               | 
              
                +        distributor_logs = SaleclerkSubmitLogInfo.objects.raw(distributor_sql) 
               | 
            
            
            
              | 
                
               | 
              
                411
               | 
              
                +        distributor_logs = [{'distributor_name': log.distributor_name, 'num': log.num, 'code1': log.code1, 'code2': log.code2, 'has_code1_scan_num': log.has_code1_scan_num, 'has_code2_scan_num': log.has_code2_scan_num} for log in distributor_logs]
               | 
            
            
            
              | 
                406
               | 
              
                412
               | 
              
                  
               | 
            
            
            
              | 
                407
               | 
              
                413
               | 
              
                     # daily_logs = list(logs.values('ymd').annotate(num=Count('pk')).order_by('ymd'))
               | 
            
            
            
              | 
                408
               | 
              
                414
               | 
              
                     # daily_code1_logs = list(logs.filter(code_version=1).values('ymd').annotate(num=Count('pk')).order_by('ymd'))
               |